<template>
    <div class="wrapper">

        <!-- header部分 -->
        <header>
            <a href="javascript:history.back();" class="back-button">
                <i class="fa fa-arrow-left"></i> 返回
            </a>
            <p>新增商品</p>
        </header>

        <!-- 表单部分 -->
        <ul class="form-box">
            <li>
                <div class="title">
                    商品名称：
                </div>
                <div class="content">
                    <input type="text" v-model="foodArr.foodName" placeholder="请输入食物名称">
                </div>
            </li>
            <li>
                <div class="title">
                    商品图片：
                </div>
                <div class="content">
                    <input type="file" accept="image/*" @change="onFileChange" style="display: none;" ref="fileInput" />
                    <button @click="uploadImage">上传图片</button>
                    <span v-if="selectedFileName">{{ selectedFileName }}</span>
                </div>
            </li>
            <!--<li>
                <div class="title">
                    是否售罄：
                </div>
                <div class="content" style="font-size: 3vw;">
                    <input type="radio" v-model="foodArr.quantity" value="1" style="width:6vw;height:3.2vw;">是
                    <input type="radio" v-model="foodArr.quantity" value="0" style="width:6vw;height:3.2vw;">否
                </div>
            </li>-->
            <li>
                <div class="title">
                    商品介绍：
                </div>
                <div class="content">
                    <input type="tel" v-model="foodArr.foodExplain" placeholder="请输入商品介绍">
                </div>
            </li>
            <li>
                <div class="title">
                    商品价格：
                </div>
                <div class="content">
                    <input type="text" v-model="foodArr.foodPrice" placeholder="请输入商品价格">
                </div>
            </li>
        </ul>

        <div class="button-add">
            <button @click="addFoods">保存</button>
        </div>
        <div style="height: 0.1vw;"></div>
        <CustomAlert ref="customAlert" />
        <!-- 底部菜单部分 -->
        <Footer></Footer>

    </div>
</template>

<script>
import Footer from '../components/Footer.vue';
import CustomAlert from '../components/CustomAlert.vue';

export default {
    name: 'AddFood',
    data() {
        return {
            businessId: this.$route.query.businessId,
            user: {},
            foodArr: {
                foodName: '',
                foodPrice: 0,
                foodExplain: '',
                foodImg: '',
                foodQuantity: 100,
                remarks: 'ok',
            },
            selectedFileName: '',
        }
    },
    created() {
        this.user = this.$getSessionStorage('user');
    },
    components: {
        Footer,
        CustomAlert,
    },
    methods: {
        uploadImage() {
            this.$refs.fileInput.click(); // 模拟点击文件输入
        },
        onFileChange(event) {
            const file = event.target.files[0]; // 获取上传的文件
            let size = file.size;
            if (size / (1024 * 1024) > 3) {
                this.$refs.customAlert.showAlert('文件大小不能超过3M！')
                return;
            }
            if (file) {
                this.selectedFileName = file.name;
                const reader = new FileReader();
                // 当文件读取完成时，将其转换为URL
                reader.onload = (e) => {
                    let result = e.target.result;
                    result = result.replace(/\//g, '-'); // 将所有的 / 替换为 -
                    result = result.replace(/\+/g, '_'); // 将所有的 + 替换为 _
                    result = result.replace(/\;/g, '~');// 将所有的 ; 替换为 ~
                    this.foodArr.foodImg = result; // 更新头像URL
                    //this.$setLocalStorage('avatarUrl', this.avatarUrl);
                };
                // 读取文件为Data URL
                reader.readAsDataURL(file);
            }
        },
        addFoods() {
            if (this.foodArr.foodName == '') {
                this.$refs.customAlert.showAlert('商品名称不能为空！');
                return;
            }
            if (this.foodArr.foodExplain == '') {
                this.$refs.customAlert.showAlert('商品介绍不能为空！');
                return;
            }
            //this.deliveryAddress.userId = this.user.userId;
            this.$axios.post(`/Foods/name/${this.foodArr.foodName}/explain/${this.foodArr.foodExplain}/price/${this.foodArr.foodPrice}/img/${this.foodArr.foodImg}/businessId/${this.businessId}/remarks/${this.foodArr.remarks}/quantity/${this.foodArr.foodQuantity}`)
                .then(response => {
                    if (response.data > 0) {
                        this.$router.push({ path: '/businessManagement', query: { businessId: this.businessId } });
                    } else {
                        this.$refs.customAlert.showAlert('新增商品失败！');
                    }
                }).catch(error => {
                    console.error(error);
                });
        }
    }
}
</script>

<style scoped>
/*************** 总容器 ***************/
.wrapper {
    width: 100%;
    height: 100%;
}

/*************** header ***************/
.wrapper header {
    width: 100%;
    height: 12vw;
    background-color: #0097FF;
    display: flex;
    justify-content: space-around;
    align-items: center;
    color: #fff;
    font-size: 4.8vw;
    position: fixed;
    left: 0;
    top: 0;
    /*保证在最上层*/
    z-index: 1000;
}

.back-button {
    position: absolute;
    top: 3.5vw;
    /* 使用相对单位 */
    left: 2.5vw;
    /* 使用相对单位 */
    font-size: 4vw;
    /* 使用相对单位 */
    text-decoration: none;
    color: white;
    display: flex;
    align-items: center;
}

.back-button i {
    margin-right: 1vw;
    /* 使用相对单位 */
}

/* 针对大屏幕 (如 iPad) 的媒体查询 */
@media (min-width: 768px) {
    .wrapper header {
        height: 8vh;
        /* 使用相对高度单位 */
        font-size: 3vh;
    }

    .back-button {
        top: 2.5vh;
        /* 使用相对高度单位 */
        left: 2vh;
        font-size: 2.5vh;
        /* 相对大小单位 */
    }

    .back-button i {
        margin-right: 0.5vh;
    }
}

/*************** （表单信息） ***************/
.wrapper .form-box {
    width: 100%;
    margin-top: 12vw;
}

.wrapper .form-box li {
    box-sizing: border-box;
    padding: 4vw 3vw 0vw 3vw;
    display: flex;
}

.wrapper .form-box li .title {
    flex: 0 0 18vw;
    font-size: 3vw;
    font-weight: 700;
    color: #666;
}

.wrapper .form-box li .content {
    flex: 1;

    display: flex;
    align-items: center;
}

.wrapper .form-box li .content input {
    border: none;
    outline: none;
    width: 100%;
    height: 4vw;
    font-size: 3vw;
}

.wrapper .button-add {
    box-sizing: border-box;
    padding: 4vw 3vw 0vw 3vw;
}

.wrapper .button-add button {
    width: 100%;
    height: 10vw;
    font-size: 3.8vw;
    font-weight: 700;

    border: none;
    outline: none;
    border-radius: 4px;
    color: #fff;
    background-color: #38CA73;
}
</style>